home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Includes / input / joyports.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-10  |  2.1 KB  |  67 lines

  1. #ifndef INPUT_JOYPORTS_H
  2. #define INPUT_JOYPORTS_H TRUE
  3.  
  4. /*
  5. **  $VER: joyports.h
  6. **
  7. **  Joyport definitions.
  8. **
  9. **  (C) Copyright 1996-1998 DreamWorld Productions.
  10. **      All Rights Reserved.
  11. */
  12.  
  13. #ifndef DPKERNEL_H
  14. #include <dpkernel/dpkernel.h>
  15. #endif
  16.  
  17. /*****************************************************************************
  18. ** JoyData structure, for reading from joyports.
  19. */
  20.  
  21. #define VER_JOYDATA  2
  22. #define TAGS_JOYDATA ((ID_SPCTAGS<<16)|(ID_JOYDATA))
  23.  
  24. struct JoyData {
  25.   struct Head Head;     /* [00] Standard header */
  26.   WORD   Port;          /* [12] Port number, starts at 1 (mouse) */
  27.   WORD   XChange;       /* [14] Change from X position */
  28.   WORD   YChange;       /* [16] Change from Y position */
  29.   WORD   ZChange;       /* [18] Change from Z position */
  30.   LONG   Buttons;       /* [20] Currently pressed buttons */
  31.   WORD   ButtonTimeOut; /* [24] Micro-seconds before button time-out */
  32.   WORD   MoveTimeOut;   /* [26] Micro-seconds before movement time-out */
  33.   WORD   NXLimit;       /* [28] Negative X limit */
  34.   WORD   NYLimit;       /* [30] Negative Y limit */
  35.   WORD   PXLimit;       /* [32] Positive X limit */
  36.   WORD   PYLimit;       /* [34] Positive Y limit */
  37.  
  38.   /*** Private fields start now ***/
  39.  
  40.   WORD   prvType;           /* Type of device */
  41.   LONG   prvButtonTicks;    /* Time-Out */
  42.   LONG   prvMoveTicks;      /* Time-Out */
  43.   struct Keyboard *prvKeys; /* Keyboard object if emulation is required */
  44.   struct JoyKeys  *prvEmu;  /* Pointer to emulation table */
  45.   WORD   prvOldX;
  46.   WORD   prvOldY;
  47. };
  48.  
  49. #define JD_FIRE1  0x00000001L  /* Standard Fire Button (1) - LMB */
  50. #define JD_FIRE2  0x00000002L  /* Standard Fire Button (2) - RMB */
  51. #define JD_FIRE3  0x00000004L  /* Standard Fire Button (3) - MMB */
  52. #define JD_FIRE4  0x00000008L  /* "Start"    */
  53. #define JD_FIRE5  0x00000010L  /* "Select"   */
  54. #define JD_FIRE6  0x00000020L  /* Rewind  L1 */
  55. #define JD_FIRE7  0x00000040L  /* Forward R1 */
  56. #define JD_FIRE8  0x00000080L  /* Rewind  L2 */
  57. #define JD_FIRE9  0x00000100L  /* Forward R2 */
  58.  
  59. #define JD_LMB    JD_FIRE1
  60. #define JD_RMB    JD_FIRE2
  61. #define JD_MMB    JD_FIRE3
  62.  
  63. #define JPORT_DIGITAL  -1
  64. #define JPORT_ANALOGUE -2
  65.  
  66. #endif /* INPUT_JOYPORTS_H */
  67.